1780E - Josuke and Complete Graph - CodeForces Solution


binary search brute force data structures number theory

Please click on ads to support us..

C++ Code:

// Mtaylor
#include <bits/stdc++.h>
using namespace std;

#define pb push_back
#define fi first
#define se second
#define mp make_pair
#define endl '\n';
#define sz(x) ((int)(x).size())
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
void dbg_out() { cerr << endl; }
template <typename Head, typename... Tail>
void dbg_out(Head H, Tail... T) {
    cerr << ' ' << H;
    dbg_out(T...);
}
#define dbg(...) cerr << "(" << #__VA_ARGS__ << "):", dbg_out(__VA_ARGS__)
typedef long long ll;
const int N = 3e5 + 5;

ll l, r;
bool ok(ll u) {
    ll nx = l + (u - l % u) % u;
    if (nx <= r && nx + u <= r) {
        return 1;
    }
    return 0;
}

void test_case() {
    cin >> l >> r;
    ll ans = 0;
    if (r / 2 >= l) {
        ans += r / 2 - l + 1;
    }
    ll lf = 1;
    while (lf < l) {
        ll a = lf;
        ll b = l - 1;
        while (a < b) {
            ll md = (a + b + 1) / 2;
            if ((l + md - 1) / md != (l + lf - 1) / lf) {
                b = md - 1;
            } else {
                a = md;
            }
        }
        ll rg = a;
        ll f = (l + lf - 1) / lf;
        ll ub = min(rg, r / (f + 1));
        if (ub >= lf) ans += ub - lf + 1;
        lf = rg + 1;
    }
    cout << ans << endl;
}

int main() {
    // freopen("input.txt", "r", stdin);
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int T;
    cin >> T;
    while (T--) {
        test_case();
    }
    return 0;
}


Comments

Submit
0 Comments
More Questions

415. Add Strings
22. Generate Parentheses
13. Roman to Integer
2. Add Two Numbers
515. Find Largest Value in Each Tree Row
345. Reverse Vowels of a String
628. Maximum Product of Three Numbers
1526A - Mean Inequality
1526B - I Hate 1111
1881. Maximum Value after Insertion
237. Delete Node in a Linked List
27. Remove Element
39. Combination Sum
378. Kth Smallest Element in a Sorted Matrix
162. Find Peak Element
1529A - Eshag Loves Big Arrays
19. Remove Nth Node From End of List
925. Long Pressed Name
1051. Height Checker
695. Max Area of Island
402. Remove K Digits
97. Interleaving String
543. Diameter of Binary Tree
124. Binary Tree Maximum Path Sum
1465. Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts
501A - Contest
160A- Twins
752. Open the Lock
1535A - Fair Playoff
1538F - Interesting Function